home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Night Owl 6
/
Night Owl's Shareware - PDSI-006 - Night Owl Corp (1990).iso
/
015a
/
fdate41a.zip
/
FDATEX.BAT
< prev
next >
Wrap
DOS Batch File
|
1992-01-03
|
24KB
|
643 lines
@ECHO off
BREAK ON
for %%v in (in get func strings timer absdates ly errmsg) do if (%%v)==(%1) goto %1
FOR %%V IN (IN GET FUNC STRINGS TIMER ABSDATES LY ERRMSG) DO IF (%%V)==(%1) GOTO %1
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ FDATEX: Demonstration batch file for FDATE ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
echo.
echo.
echo This batch file uses ANSI.SYS to control the appearance and color
echo of some of the headings.
echo.
echo If you do not have ANSI.SYS installed, you may see garbage on the
echo screen next to some of the headings, such as the one at the top of
echo this screen, but the batch file will work correctly otherwise.
echo.
echo ───────────────────────────────────────────────────────────────────────────────
echo.
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST HELP SCREEN ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
PAUSE
cls
FDATE
PAUSE
ECHO ON
@echo off
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (#1) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Occyymmdd
FDATE /Ff /At /Occyy
FDATE /Ff /At /Oyymmdd
FDATE /Ff /At /Ommdd
FDATE /Ff /At /Odd-mn3-yy
FDATE /Ff /At /Odd-mn3-yy /Lfr
@echo off
@PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (#2) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Omm-dd-ccyy
FDATE /Ff /At /Ozm-zd-ccyy
FDATE /Ff /At /Omm/dd/ccyy
FDATE /Ff /At /Ozm/zd/ccyy
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (#3) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Odow#
FDATE /Ff /At /Odow
FDATE /Ff /At /Odow /Lfr
FDATE /Ff /At /Odow3
FDATE /Ff /At /Odow3 /Lfr
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (#4) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /O"mn zd, ccyy"
FDATE /Ff /At /O"mn zd, ccyy" /Lfr
FDATE /Ff /At /O"mn3 dd ccyy"
FDATE /Ff /At /O"mn3 dd ccyy" /Lfr
FDATE /Ff /At /O"mn3 dd, ccyy"
FDATE /Ff /At /O"mn3 dd, ccyy" /Lfr
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (#5) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /O"zd mn ccyy"
FDATE /Ff /At /O"zd mn ccyy" /Lfr
FDATE /Ff /At /O"zd mn, ccyy"
FDATE /Ff /At /O"zd mn, ccyy" /Lfr
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (TIME) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Ot1
FDATE /Ff /At /Ohh:mm
FDATE /Ff /At /Ohh:mm:ss
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS (DATE ABBREVIATIONS) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Od1
FDATE /Ff /At /Od1 /Lfr
FDATE /Ff /At /Ofull
FDATE /Ff /At /Ofull /Lfr
FDATE /Ff /At /Oly /P"Leap-year flag (0=normal, 1=leapyear): "
@echo off
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST OUTPUT FORMATS ("JULIAN" OUTPUTS) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
FDATE /Ff /At /Oday# /P"Absolute date : "
FDATE /Ff /At /Ominute# /P"Julian minutes: "
FDATE /Ff /At /Osecond# /P"Julian seconds: "
FDATE /Ff /At /Ojulian /P"Julian date is: "
@echo off
PAUSE
:IN
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST INPUT FORMATS ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
echo.
@echo TEST PSEUDO-DATES /AT (/ATODAY)
@echo ─────────────────────────────────────────────────────────────────
@echo on
FDATE /Ff /Atoday /Od1
FDATE /Ff /At /Od1
@Pause
cls
@ECHO TEST PSEUDO-DATES /ICCYYMMDD
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /Atttt1126 /Iccyymmdd /Od1
FDATE /Ff /A1991tt26 /Iccyymmdd /Od1
FDATE /Ff /A199211tt /Iccyymmdd /Od1
FDATE /Ff /Atttttttt /Iccyymmdd /Od1
@Pause
cls
@ECHO TEST PSEUDO-DATES /IMM-DD-CCYY
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /A11-26-tttt /Imm-dd-ccyy /Od1
FDATE /Ff /A11-tt-1992 /Imm-dd-ccyy /Od1
FDATE /Ff /Att-26-1992 /Imm-dd-ccyy /Od1
FDATE /Ff /Att-tt-tttt /Imm-dd-ccyy /Od1
@Pause
cls
@ECHO TEST PSEUDO-DATES /IMM-DD-YY
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /A11-26-tt /Imm-dd-yy /Od1
FDATE /Ff /A11-tt-92 /Imm-dd-yy /Od1
FDATE /Ff /Att-26-92 /Imm-dd-yy /Od1
FDATE /Ff /Att-tt-tt /Imm-dd-yy /Od1
@PAUSE
CLS
@echo TEST INPUT FORMATS
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /Imm-dd-ccyy /A12-07-1991 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-91 /Od1
FDATE /Ff /Iccyymmdd /A19911207 /Od1
@PAUSE
CLS
@echo TEST INPUT FORMATS (only YY specified, CC assumed.)
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /Imm-dd-yy /A12-07-00 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-10 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-19 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-20 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-21 /Od1
FDATE /Ff /Imm-dd-yy /A12-07-91 /Od1
@PAUSE
CLS
@echo off
@echo TEST INPUT FORMATS HANDLING LEADING ZEROS
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /Imm-dd-yy /A06-06-66 /Od1
FDATE /Ff /Imm-dd-yy /A6-06-66 /Od1
FDATE /Ff /Imm-dd-yy /A06-6-66 /Od1
FDATE /Ff /Imm-dd-yy /A6-6-66 /Od1
FDATE /Ff /Imm-dd-ccyy /A06-06-0001 /Od1
FDATE /Ff /Imm-dd-ccyy /A6-06-0001 /Od1
FDATE /Ff /Imm-dd-ccyy /A06-6-0001 /Od1
FDATE /Ff /Imm-dd-ccyy /A6-6-0001 /Od1
@PAUSE
@echo on
CLS
@echo TEST /P (PREFIX) PARAMETER
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /At /O"mn zd, ccyy" /P"Today is "
FDATE /Ff /At /O"mn zd, ccyy" /P"Aujourdui est " /Lfr
@echo.
set FDATE=
FDATE /Ff /At /O"mn zd, ccyy" /P"@SET FDATE=" >FDATJUNK.BAT
call FDATJUNK.BAT
@Echo off
del FDATJUNK.BAT
ECHO Value of FDATE environment variable is: %FDATE%
set FDATE=
PAUSE
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST END-OF-MONTH DATES (BUG FIXED IN FDATE 3.0) ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo off
fdate /ff /imm-dd-ccyy /oD1 /a01-29-1992
fdate /ff /imm-dd-ccyy /oD1 /a01-30-1992
fdate /ff /imm-dd-ccyy /oD1 /a01-31-1992
fdate /ff /imm-dd-ccyy /oD1 /a02-29-1992
fdate /ff /imm-dd-ccyy /oD1 /a02-30-1992
fdate /ff /imm-dd-ccyy /oD1 /a02-31-1992
@echo off
PAUSE
:func
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST FUNCTIONS ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo on
@echo.
@echo TEST FUNCTION: F (FORMAT)
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fformat /At /Od1
FDATE /Ff /At /Od1
@PAUSE
@echo off
CLS
@echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D NOT = DOW#
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-25-1992: "
FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-25-1992: "
FDATE /Ff /A11-25-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-25-1992: "
FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N1 /Od1 /P"1st Thursday after 11-25-1992: "
FDATE /Fw /A11-25-1992 /Imm-dd-ccyy /D5 /N2 /Od1 /P"2nd Thursday after 11-25-1992: "
@PAUSE
@CLS
@echo TEST FUNCTION: W (Nth WEEKDAY BEFORE/AFTER) WHERE /D = DOW#
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-2 /Od1 /P"2nd Thursday before 11-26-1992: "
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"1st Thursday before 11-26-1992: "
FDATE /Ff /A11-26-1992 /Imm-dd-ccyy /D5 /N-1 /Od1 /P"The actual day of.. 11-26-1992: "
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N1 /Od1 /P"1st Thursday after 11-26-1992: "
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N2 /Od1 /P"2nd Thursday after 11-26-1992: "
@PAUSE
@echo off
@CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST /FW-RELATED ERROR MESSAGES ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N0 /Od1 /P" 0th Thursday after 11-26-1992: "
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N99 /Od1 /P"99th Thursday after 11-26-1992: "
FDATE /Fw /A11-26-1992 /Imm-dd-ccyy /D5 /N-99 /Od1 /P"99th Thursday before 11-26-1992: "
@PAUSE
CLS
@echo TEST COMP (DATE COMPARE) FUNCTION
@echo ─────────────────────────────────────────────────────────────────
@echo ON
Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1991
Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1992
Fdate /Fcomp /Imm-dd-ccyy /A06-06-1992 /B06-06-1993
@PAUSE
CLS
@echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fdif /At /Bt
FDATE /Fdif /At /B01-01-1990 /Imm-dd-ccyy
FDATE /Fdif /A01-01-1990 /Bt /Imm-dd-ccyy
FDATE /Fdif /A12-31-0008 /B01-01-0009 /Imm-dd-ccyy
FDATE /Fdif /Iccyymmdd /A19801230 /B19801231
FDATE /Fdif /Iccyymmdd /A19801230 /B19801220
@PAUSE
CLS
@echo TEST DIF (DATE DIFFERENCE, IN DAYS) FUNCTION
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fdif /Iccyymmdd /A19800101 /B19801231
FDATE /Fdif /Iccyymmdd /A19810101 /B19811231
FDATE /Fdif /Iccyymmdd /A20000101 /B20001231
FDATE /Fdif /Iccyymmdd /A19000101 /B19001231
FDATE /Fdif /Iccyymmdd /A16000101 /B16001231
@PAUSE
@echo off
CLS
echo TEST ADD (ADD A NUMBER TO A DATE, GET RESULTING DATE) FUNCTION
echo ───────────────────────────────────────────────────────────────────────────────
echo on
FDATE /Fadd /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /At /Od1 /P"Tomorrow will be "
FDATE /Fadd /N90 /At /Od1 /P"90 days from today is "
@PAUSE
CLS
@echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fadd /N1 /A12-31-0003 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-0099 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-0399 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-1899 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-1999 /Imm-dd-ccyy /Omm-dd-ccyy
@PAUSE
CLS
@echo TEST ADD ACROSS YEAR BOUNDARIES: LEAP YEAR END
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fadd /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fadd /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
@PAUSE
CLS
@echo TEST SUB
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fsub /N1 /A12-31-0008 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /At /Od1 /P"Yesterday was "
FDATE /Fsub /N90 /At /Od1 /P"90 days ago, the date was "
@PAUSE
CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY BEFORE LEAP YEAR BEGIN
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fsub /N1 /A12-31-0004 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A12-31-0100 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A12-31-0400 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A12-31-1900 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A12-31-2000 /Imm-dd-ccyy /Omm-dd-ccyy
@PAUSE
CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: LEAP YEAR BEGIN
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fsub /N1 /A01-01-0004 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-0100 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-0400 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-1900 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-2000 /Imm-dd-ccyy /Omm-dd-ccyy
@PAUSE
CLS
@echo TEST SUB ACROSS YEAR BOUNDARIES: 1 DAY AFTER LEAP YEAR END
@echo ─────────────────────────────────────────────────────────────────
FDATE /Fsub /N1 /A01-01-0005 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-0101 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-0401 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-1901 /Imm-dd-ccyy /Omm-dd-ccyy
FDATE /Fsub /N1 /A01-01-2001 /Imm-dd-ccyy /Omm-dd-ccyy
@PAUSE
:errmsg
CLS
@echo TEST ERROR MESSAGES
@echo ─────────────────────────────────────────────────────────────────
@echo on
FDATE /Ff /At /Ojunktest
FDATE /Ff /A18880101 /Ijunktest /Ominute#
@PAUSE
CLS
FDATE /Ff /Iccyymmdd /A18880101 /Ominute#
FDATE /Ff /Iccyymmdd /A21010101 /Osecond#
FDATE /Fsub /Iccyymmdd /A00010101 /n1 /od1
FDATE /Fadd /Iccyymmdd /A99991231 /n1 /od1
@PAUSE
CLS
FDATE /Ff /Imm-dd-ccyy /A01-01-xxxx /Od1
FDATE /Fadd /Imm-dd-ccyy /A01-01-1992 /N /Od1
@PAUSE
CLS
FDATE /Fdif /Imm-dd-ccyy /?01-01-1992 /B01-02-1992
FDATE /Fdif /Imm-dd-ccyy /A01-01-1992 /?01-02-1992
@PAUSE
CLS
FDATE /Ff /Imm-dd-yy /A01-01-1 /Od1
FDATE /Ff /Imm-dd-yy /A01-01-199 /Od1
FDATE /Ff /Imm-dd-ccyy /A01-01-199 /Od1
FDATE /Ff /Imm-dd-ccyy /A01-01-19922 /Od1
@PAUSE
:LY
CLS
@echo on
@echo TEST LEAPYR (#1)
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /A01-01-0001 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-0004 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-0005 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-0100 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-0400 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-1600 /Imm-dd-ccyy /Oly
@PAUSE
CLS
@echo TEST LEAPYR (#2)
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /A01-01-1900 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-1984 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-1991 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-1992 /Imm-dd-ccyy /Oly
FDATE /Ff /A01-01-2000 /Imm-dd-ccyy /Oly
@PAUSE
CLS
@echo TEST "JULIAN" OUTPUT FORMATS
@echo ─────────────────────────────────────────────────────────────────
FDATE /Ff /At /Ojulian
FDATE /Ff /At /Oday#
FDATE /Ff /At /Ominute#
FDATE /Ff /At /Osecond#
FDATE /Ff /A19950101 /Iccyymmdd /Ominute#
FDATE /Ff /A19950101 /Iccyymmdd /Osecond#
@PAUSE
@ECHO off
:ABSDATES
CLS
echo SHOW ABSOLUTE OR "TRUE JULIAN" DATES FOR SELECTED DATES
echo ─────────────────────────────────────────────────────────────────
ECHO.
FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Od1 /P"First day of year 0001: "
FDATE /Ff /A01-01-0001 /imm-dd-ccyy /Oday#
ECHO.
FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Od1 /P"First day of year 1900: "
FDATE /Ff /A01-01-1900 /imm-dd-ccyy /Oday#
ECHO.
FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Od1 /P"First day of year 1992: "
FDATE /Ff /A01-01-1992 /imm-dd-ccyy /Oday#
ECHO.
FDATE /Ff /At /Od1 /P"Today's calendar date : "
FDATE /Ff /At /Oday# /P"Today's absolute date : "
ECHO.
FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Od1 /P"Last day of year 2000: "
FDATE /Ff /A12-31-2000 /imm-dd-ccyy /Oday#
ECHO.
FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Od1 /P"Last day of year 9999: "
FDATE /Ff /A12-31-9999 /imm-dd-ccyy /Oday#
PAUSE
:GET
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: GET ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ If you do not have GET installed, ║
echo
║ you will see messages saying "Bad command of file name". ║
echo
║ This is normal and nothing to worry about. ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo.
@echo on
@set date1=
@echo.
FDATE /Ff /At /Oyymmdd|GET ZE /Vdate1 >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
FDATE /Ff /At /Occyymmdd|GET ZE /Vdate1 >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo off
@PAUSE
:STRINGS
CLS
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ TEST FDATE WITH ENVIRONMENT MANIPULATION PROGRAM: STRINGS ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ If you do not have STRINGS installed, ║
echo
║ you will see messages saying "Bad command of file name". ║
echo
║ This is normal and nothing to worry about. ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
@echo.
@echo on
@set date1=
@echo.
FDATE /Ff /At /Oyymmdd | STRINGS date1= ASK >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
FDATE /Ff /At /Occyymmdd | STRINGS date1= ASK >NUL
@echo DATE1 environment variable is %DATE1%
@set date1=
@echo.
@echo off
@PAUSE
@echo off
CLS
echo.
echo The final demonstration uses the DOS "CALL" statement,
echo so it requires DOS 3.3 or greater.
echo.
echo If you do not have DOS 3.3+,
echo press Control-Break or Control-C now to stop execution of the batch file.
echo.
echo Otherwise,
pause
:TIMER
@echo off
cls
ECHO The demo will run for 1 - 60 seconds.
echo.
ECHO ────────────────────────────────────────────────────────────────────────
ECHO CALCULATE HOW LONG IT TOOK TO RUN A PROGRAM (in seconds and minutes)
echo.
echo If you leave long batch files to run overnight, this techique can
echo be used to record how long each program in the batch file ran.
echo.
echo The technique for setting the values of environment variables in this
echo part of the demo uses temporary batch files and CALL statements.
echo If you have a program such as GET or STRINGS, you can use it instead.
ECHO ────────────────────────────────────────────────────────────────────────
echo.
PAUSE
cls
FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution begins at "
REM GET PROGRAM BEGIN TIME, IN MINUTES
@set BegM=
@set EndM=
@set RunM=
FDATE /Ff /At /Ominute# /P"SET BegM=" >FDATJUNK.BAT
CALL FDATJUNK.BAT
REM GET PROGRAM BEGIN TIME, IN SECONDS
set BegS=
set EndS=
set RunS=
FDATE /Ff /At /Osecond# /P"SET BegS=" >FDATJUNK.BAT
CALL FDATJUNK.BAT
rem ───────────────────────────────────────────────────────────────
rem [simulate execution of a program: loop for a minute or less]
rem [In a real batch file, you would put your program statements here]
rem ───────────────────────────────────────────────────────────────
:BegLoop
FDATE /Ff /At /Osecond# /P"SET EndS=" >FDATJUNK.BAT
CALL FDATJUNK.BAT
FDATE /Ff /At /Ominute# /P"SET EndM=" >FDATJUNK.BAT
CALL FDATJUNK.BAT
rem calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndM% /B%BegM% /P"SET RunM=" > FDATJUNK.BAT
CALL FDATJUNK.BAT
rem calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndS% /B%BegS% /P"SET RunS=" > FDATJUNK.BAT
CALL FDATJUNK.BAT
echo TESTPGM running, elapsed time: %RunS% seconds
if (%RunM%)==() goto EndLoop
if (%RunM%)==(0) goto BegLoop
:EndLoop
rem ───────────────────────────────────────────────────────────────
REM GET PROGRAM END TIME IN SECONDS
FDATE /Ff /At /Osecond# /P"SET EndS=" > FDATJUNK.BAT
CALL FDATJUNK.BAT
REM GET PROGRAM END TIME IN MINUTES
FDATE /Ff /At /Ominute# /P"SET EndM=" > FDATJUNK.BAT
CALL FDATJUNK.BAT
FDATE /Ff /At /Ohh:mm:ss /P"TESTPGM simulated execution ends at "
echo.
echo TESTPGM: Program end time (Julian seconds): %EndS%
echo TESTPGM: Program begin time (Julian seconds): %BegS%
rem calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndS% /B%BegS% /P"TESTPGM: Run time in seconds= "
set BegS=
set EndS=
echo.
echo TESTPGM: Program end time (Julian minutes): %EndM%
echo TESTPGM: Program begin time (Julian minutes): %BegM%
rem calculate run time (difference between start time and end time)
FDATE /F#dif /A%EndM% /B%BegM% /P"TESTPGM: Run time in minutes= "
DEL FDATJUNK.BAT
set BegM=
set EndM=
set RunM=
set RunS=
echo.
PAUSE
@echo off
cls
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ END OF FDATE TEST BATCH FILE ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
echo.
echo I hope that you have found this demo batch file helpful,
echo and that you will find FDATE useful.
echo.
echo -- Stephen Ferg
echo.
echo.
echo.
if not exist holidays.bat goto endit
echo
╔═════════════════════════════════════════════════════════════════════════════╗
echo
║ READY TO EXECUTE HOLIDAYS.BAT ... DEMO BATCH FILE ║
echo
╚═════════════════════════════════════════════════════════════════════════════╝
pause
HOLIDAYS.BAT
:ENDIT